/**
 * 二次封装axios
 */
import axios from 'axios'
import store from '@/store'
import bigNumber from 'json-bigint'

const str = '{ "id": 13239821773349847002 }'
console.log(JSON.parse(str).id)
console.log(bigNumber.parse(str).id.toString())

// axios.create 得到一个新的axios的实例
const request = axios.create({
  baseURL: 'http://toutiao-app.itheima.net/', // 基础路径
  transformResponse: [function (data) {
    // `transformRequest` 允许在向服务器发送前，修改请求数据
    // 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
    // 配置data 将其大数进行修饰
    try {
      // console.log(data)
      return bigNumber.parse(data)
    } catch (err) {
      return data
    }
  }]
})
export default request

// 请求拦截器 config请求配置对象
request.interceptors.request.use(config => {
  const user = store.state.userTouken
  if (user) {
    config.headers.Authorization = 'Bearer ' + store.state.userTouken.token
  }
  return config
}, function (error) {
  return Promise.reject(error)
})
